import 'babel-polyfill';
require('es6-promise').polyfill();
import axios from 'axios';
import Es6Promise from 'es6-promise';
Es6Promise.polyfill();
import VCharts from 'v-charts';
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// import VueSocketIO from 'vue-socket.io'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import echarts from 'echarts';
import VueCompositionAPI from '@vue/composition-api'
import  {Base_url} from '../public/index'



Vue.prototype.validForbid = function (value) {
  value = value.replace(/[`~!@#$%^&*()+=<>?:"{}|,.;'\\[\]·~！@#￥%……&*（）——+={}|《》？：“”【】、；‘’，。、]/g, '').replace(/\s/g, "");
  value = value.replace(/[\u4E00-\u9FA5]/g, '')
  return value;
}

Vue.prototype.validname = function (value) {
  value = value.replace(/[`~!@#$%^&*()+=<>?:"{}|,.;'\\[\]·~！@#￥%……&*（）——+={}|《》？：“”【】、；‘’，。、]/g, '').replace(/\s/g, "");
  return value;
}


var setServerurl = Base_url;
// console.log(setServerurl)


// axios.defaults.retry = 2;
// axios.defaults.retryDelay = 5000;
axios.defaults.headers['Content-Type'] = 'multipart/form-data'
// axios.defaults.baseURL = "http://10.92.163.229:8182/v1/"
axios.defaults.baseURL = setServerurl

// axios.defaults.baseURL="http://10.95.97.239:8080/"
axios.interceptors.request.use(
  axios.defaults.timeout = 25000,
  function (config) {
    // console.log(config);
    return config;
  },
  function (err) {
    console.log("失败信息" + err);
    return Promise.reject(err);
  });


// axios.interceptors.response.use(undefined, function axiosRetryInterceptor(err) {
//   var config = err.config;
//   console.log(config);
//   if (!config || !config.retry) return Promise.reject(err);

//   config.__retryCount = config.__retryCount || 0;
//   console.log('-----------', config.__retryCount)
//   if (config.__retryCount >= config.retry) {
//     return Promise.reject(err);
//   }
//   config.__retryCount += 1;
//   // console.log('-----------2', config.__retryCount);
//   if (config.__retryCount == 2) {
//     // ElementUI.MessageBox("请求数据超时，请重新请求", "消息提示", {
//     //   confirmButtonText: "确定",
//     //   callback: (action) => {
//     //     ElementUI.MessageBox({
//     //       type: "info",
//     //       message: `action: ${action}`,
//     //     });
//     //   },
//     // });
//       ElementUI.Message.error({
//         message: '数据未能返回，请刷新页面再次请求',
//         type: 'success'
//     });
//   }
//   var backoff = new Promise(function (resolve) {
//     setTimeout(function () {
//       resolve();
//     }, config.retryDelay || 1);
//   });

//   return backoff.then(function () {
//     return axios(config);
//   });
// })

Vue.use(VueCompositionAPI)
Vue.use(VCharts)
Vue.prototype.ajax = axios
Vue.prototype.$echarts = echarts
Vue.config.productionTip = false
Vue.use(ElementUI);
// Vue.use(new VueSocketIO({
//   debug: true,
//   connection:'http://127.0.0.1:7183',
//   //  connection:'http://127.0.0.1:4321',
//     //  connection:'http://10.1.130.79:7183'
// }));
// console.log(window.location.host)

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
//